trong windows thì như nhau đều là 4 byte
muốn dùng 2 byte thì dùng short
Mình có 1 cái thắc mắc về miền biểu diễn của int và long int
Theo như mình học trước thì: int là số nguyên có dấu, 2 bytes, miền biểu diễn từ -32,768 đến 32,767. Còn long int hay long (trong C như nhau) cũng là kiểu số nguyên có dấu, 4 bytes, miền biều diễn từ -2,147,483,868 đến 2,147,483,647.
Nhưng mình tra trong msdn thì: int và long int đều là 4 bytes, miền biểu diễn là bằng nhau. Bạn nào có thể cho mình 1 câu trả lời thoả đáng không?
trong windows thì như nhau đều là 4 byte
muốn dùng 2 byte thì dùng short
Ngô Hùng Cường
Birthday: 14/4/1986 - Cư ngụ: Thị trấn Lâm Thao - Phú Thọ
kidteam@gmail.com
Yahoo ID: cuong_dhbk2004
0989696971
0915696971
Hải ơi ? LONG # long sao ? cả INT và int nữa
Cái này thì tùy trình biên dịch và HDH nữa nên theo VS2010 thì nó là như vậy thôi mà
Cái link của MSDN là cậu tra cho int trong VS2010
hàng của microsoft thì đời nào cũng vậy từ bản v6->2010 int là 32 bit.
em vừa check lại thông tin, microsoft không hỗ trợ C99, cho nên không thể lấy microsoft ra làm mẫu dc.
ở ANSI C thì int là 16 bit, không liên quan đến CPU.
ở C99 (ISO) thì miền giá trị dc định nghĩa trong inttypes.h
http://en.wikipedia.org/wiki/Inttypes.h
trích lại một câu quan trọng:
"For 16-bit systems, most implementations assigned 8, 16, 16, and 32 bits to char, short, int, and long, respectively. For 32-bit systems, the common practice has been to assign 8, 16, 32, and 32 bits to these types.
This difference in int size can create some problems for users who migrate from one system to another which assigns different sizes to integer types, because the ISO C standard integer promotion rule can produce silent changes unexpectedl"
bây giờ theo chuẩn C99, chạy cpu 32bit thì |int| = |long int| = 4 byte.
p/s:
thì ra shanks là anh shinichi bên bka.vn
chị kids301090 chắc cũng học bk luôn nhỉ ?
C Code:
Như thế này cho nhanh nhé!
Mỗi trình biên dịch, và hdh khác nhau thì cho KQ cũng khác nhau đôi chút. Nên bạn cứ kiểm tra như trên cho chắc.
Miền giá trị bạn có thể dựa vào sizeof để suy ra
YH : lobuocphuudu_218
Phone : 0126 463 5095