আইওএসের উদ্দেশ্য-সি প্রকার


147

আমি আইওএস-এর উদ্দেশ্য-সি-তে মৌলিক ডেটা ধরণের সম্পর্কে জানতে চাই।

আমার যে আকারের উপর চলকটি প্রতিনিধিত্ব করা হবে এবং ভেরিয়েবলের ব্যাপ্তি দরকার need সুতরাং উদাহরণস্বরূপ: শর্ট ইনট - 2 বাইট - স্বাক্ষরিত: -32768 থেকে 32767 এবং স্বাক্ষরবিহীন: 0 থেকে 65535 এটি কেবল উদাহরণ।


অবজেক্টিভ-সি হ'ল সি এর উপরে একটি পাতলা স্তর , যার অর্থ আপনি একই বুনিয়াদি ডেটা টাইপ পেয়েছেনC।
— Cœur

উত্তর:


349

এটি একটি ভাল ওভারভিউ:

http://reference.jumpingmonkey.org/programming_languages/objective-c/types.html

অথবা এই কোডটি চালান:

32 বিট প্রক্রিয়া:

  NSLog(@"Primitive sizes:");
  NSLog(@"The size of a char is: %d.", sizeof(char));
  NSLog(@"The size of short is: %d.", sizeof(short));
  NSLog(@"The size of int is: %d.", sizeof(int));
  NSLog(@"The size of long is: %d.", sizeof(long));
  NSLog(@"The size of long long is: %d.", sizeof(long long));
  NSLog(@"The size of a unsigned char is: %d.", sizeof(unsigned char));
  NSLog(@"The size of unsigned short is: %d.", sizeof(unsigned short));
  NSLog(@"The size of unsigned int is: %d.", sizeof(unsigned int));
  NSLog(@"The size of unsigned long is: %d.", sizeof(unsigned long));
  NSLog(@"The size of unsigned long long is: %d.", sizeof(unsigned long long));
  NSLog(@"The size of a float is: %d.", sizeof(float));
  NSLog(@"The size of a double is %d.", sizeof(double));

  NSLog(@"Ranges:");
  NSLog(@"CHAR_MIN:   %c",   CHAR_MIN);
  NSLog(@"CHAR_MAX:   %c",   CHAR_MAX);
  NSLog(@"SHRT_MIN:   %hi",  SHRT_MIN);    // signed short int
  NSLog(@"SHRT_MAX:   %hi",  SHRT_MAX);
  NSLog(@"INT_MIN:    %i",   INT_MIN);
  NSLog(@"INT_MAX:    %i",   INT_MAX);
  NSLog(@"LONG_MIN:   %li",  LONG_MIN);    // signed long int
  NSLog(@"LONG_MAX:   %li",  LONG_MAX);
  NSLog(@"ULONG_MAX:  %lu",  ULONG_MAX);   // unsigned long int
  NSLog(@"LLONG_MIN:  %lli", LLONG_MIN);   // signed long long int
  NSLog(@"LLONG_MAX:  %lli", LLONG_MAX);
  NSLog(@"ULLONG_MAX: %llu", ULLONG_MAX);  // unsigned long long int

যখন কোনও আইফোন 3GS এ চালানো হয় (আইপড টাচ এবং পুরানো আইফোনগুলির একই ফলাফল পাওয়া উচিত) আপনি পান:

Primitive sizes:
The size of a char is: 1.                
The size of short is: 2.                 
The size of int is: 4.                   
The size of long is: 4.                  
The size of long long is: 8.             
The size of a unsigned char is: 1.       
The size of unsigned short is: 2.        
The size of unsigned int is: 4.          
The size of unsigned long is: 4.         
The size of unsigned long long is: 8.    
The size of a float is: 4.               
The size of a double is 8.               
Ranges:                                  
CHAR_MIN:   -128                         
CHAR_MAX:   127                          
SHRT_MIN:   -32768                       
SHRT_MAX:   32767                        
INT_MIN:    -2147483648                  
INT_MAX:    2147483647                   
LONG_MIN:   -2147483648                  
LONG_MAX:   2147483647                   
ULONG_MAX:  4294967295                   
LLONG_MIN:  -9223372036854775808         
LLONG_MAX:  9223372036854775807          
ULLONG_MAX: 18446744073709551615 

Bit৪ বিট প্রক্রিয়া:

The size of a char is: 1.
The size of short is: 2.
The size of int is: 4.
The size of long is: 8.
The size of long long is: 8.
The size of a unsigned char is: 1.
The size of unsigned short is: 2.
The size of unsigned int is: 4.
The size of unsigned long is: 8.
The size of unsigned long long is: 8.
The size of a float is: 4.
The size of a double is 8.
Ranges:
CHAR_MIN:   -128
CHAR_MAX:   127
SHRT_MIN:   -32768
SHRT_MAX:   32767
INT_MIN:    -2147483648
INT_MAX:    2147483647
LONG_MIN:   -9223372036854775808
LONG_MAX:   9223372036854775807
ULONG_MAX:  18446744073709551615
LLONG_MIN:  -9223372036854775808
LLONG_MAX:  9223372036854775807
ULLONG_MAX: 18446744073709551615

6
নোট করুন যে আইওএস 7 এসডিকে প্রকাশের সাথে কিছু প্রকারের 64 বিট মোডে বড়।
— জেরেমিপি

13
64 বিট প্রক্রিয়াটির জন্য আপডেট হয়েছে
— jjxtra

দুর্দান্ত উত্তর সত্যিই সহায়ক। মজার হলেও,

1
কেন একটি 64 বিট প্রসেসরে 32 বিট হয়? আমি দেখতে পাচ্ছি এ আইফোন প্রসেসরে এলপি called64 নামে কিছু আছে, তবে আমি কারণটি বুঝতে পারি না। পিছনে সামঞ্জস্য বা উত্তরাধিকারের জন্য .... জানি না। কারও কারও কারণ জানা আছে?
— রিকার্ডো

1
UINT_MAX কোথায়?
— কোডহেড

20

নোট করুন যে আপনি C99 স্থির-প্রস্থের ধরণগুলিও উদ্দেশ্য-সিতে পুরোপুরি ভালভাবে ব্যবহার করতে পারেন:

#import <stdint.h>
...
int32_t x; // guaranteed to be 32 bits on any platform

উইকিপিডিয়া পৃষ্ঠা কি এই হেডার পাওয়া যদি তুমি সি মান একটি কপি (আপনি উচিত, যদিও, যেহেতু উদ্দেশ্য সি শুধু C- এর একটি ক্ষুদ্র এক্সটেনশান) না থাকে একটি শালীন বিবরণ নেই। আপনি শিরোনাম limits.hএবং inttypes.hদরকারী হতে পারে।


এসআইএনটি 32, ইউআইএনটি 32 ইত্যাদি রয়েছে (কোর অডিওতে প্রচুর ব্যবহৃত হয়েছে)।
— নিকোলাস মিয়ারি

12

নতুন 64 বিট খিলানের জন্য আপডেট

Ranges:
CHAR_MIN:   -128
CHAR_MAX:   127
SHRT_MIN:   -32768
SHRT_MAX:   32767
INT_MIN:    -2147483648
INT_MAX:    2147483647
LONG_MIN:   -9223372036854775808
LONG_MAX:   9223372036854775807
ULONG_MAX:  18446744073709551615
LLONG_MIN:  -9223372036854775808
LLONG_MAX:  9223372036854775807
ULLONG_MAX: 18446744073709551615
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.