第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

C ++標(biāo)準(zhǔn)規(guī)定了int的大小,long類型是什么?

C ++標(biāo)準(zhǔn)規(guī)定了int的大小,long類型是什么?

C++ C
達(dá)令說(shuō) 2019-05-28 15:47:52
C ++標(biāo)準(zhǔn)規(guī)定了int的大小,long類型是什么?我正在尋找有關(guān)基本C ++類型大小的詳細(xì)信息。我知道這取決于架構(gòu)(16位,32位,64位)和編譯器。但是有沒(méi)有C ++的標(biāo)準(zhǔn)?我在32位架構(gòu)上使用Visual Studio 2008。這是我得到的:char  : 1 byteshort : 2 bytesint   : 4 byteslong  : 4 bytesfloat : 4 bytesdouble: 8 bytes我試圖找到,但沒(méi)有成功,可靠的信息,表述的大小char,short,int,long,double,float(和其他類型的我沒(méi)想到的),在不同的體系結(jié)構(gòu)和編譯器。
查看完整描述

3 回答

?
素胚勾勒不出你

TA貢獻(xiàn)1827條經(jīng)驗(yàn) 獲得超9個(gè)贊

C ++標(biāo)準(zhǔn)沒(méi)有以字節(jié)為單位指定整數(shù)類型的大小,但它指定了它們必須能夠容納的最小范圍。您可以從所需范圍推斷出最小位數(shù)。您可以從中推斷出以字節(jié)為單位的最小大小以及定義一個(gè)字節(jié)中位數(shù)CHAR_BIT宏的值(除了最模糊的平臺(tái)之外,它都是8,并且它不能小于8)。

一個(gè)額外的約束char是它的大小總是1個(gè)字節(jié),或CHAR_BIT位(因此名稱)。

標(biāo)準(zhǔn)要求的最小范圍(第22頁(yè))是:

MSDN上的數(shù)據(jù)類型范圍:

  1. signed char:-127到127(注意,不是-128到127;這可以容納1個(gè)補(bǔ)碼和符號(hào)和大小的平臺(tái))

  2. unsigned char:0到255

  3. “plain” char:與signed charor 相同的范圍,或者unsigned char實(shí)現(xiàn)定義的

  4. signed short:-32767至32767

  5. unsigned short:0到65535

  6. signed int:-32767至32767

  7. unsigned int:0到65535

  8. signed long:-2147483647至2147483647

  9. unsigned long:0到4294967295

  10. signed long long:-9223372036854775807至9223372036854775807

  11. unsigned long long:0到18446744073709551615

C ++(或C)實(shí)現(xiàn)可以將字節(jié)的大小(以字節(jié)sizeof(type)為單位)定義為任何值,只要

  1. 表達(dá)式sizeof(type) * CHAR_BIT求值為足夠高的位數(shù)以包含所需的范圍,并且

  2. 類型的排序仍然有效(例如sizeof(int) <= sizeof(long))。

實(shí)際的特定于實(shí)現(xiàn)的范圍可以<limits.h>在C 中的頭文件中找到,或者<climits>在C ++中找到(或者甚至更好,std::numeric_limits<limits>頭文件中模板化)。

例如,您將找到以下內(nèi)容的最大范圍int

C:

#include <limits.h>const int min_int = INT_MIN;const int max_int = INT_MAX;

C ++

#include <limits>const int min_int = std::numeric_limits<int>::min();const int max_int = std::numeric_limits<int>::max();


查看完整回答
反對(duì) 回復(fù) 2019-05-28
?
忽然笑

TA貢獻(xiàn)1806條經(jīng)驗(yàn) 獲得超5個(gè)贊

對(duì)于32位系統(tǒng),“事實(shí)上”標(biāo)準(zhǔn)是ILP32 - 也就是說(shuō)int,long指針都是32位數(shù)量。

對(duì)于64位系統(tǒng),主要的Unix'事實(shí)上'標(biāo)準(zhǔn)是LP64 - long指針是64位(但是int是32位)。在Windows 64位標(biāo)準(zhǔn)是LLP64 - long long和指針是64位(但longint都是32位)。

有一段時(shí)間,一些Unix系統(tǒng)使用了ILP64組織。

這些事實(shí)上的標(biāo)準(zhǔn)都沒(méi)有通過(guò)C標(biāo)準(zhǔn)(ISO / IEC 9899:1999)立法,但所有標(biāo)準(zhǔn)都是允許的。

而且,顧名思義,sizeof(char)就是1,盡管在Perl的配置腳本測(cè)試。

需要注意的是有機(jī)器(Crays),其中CHAR_BIT大于8.這意味著,IIRC大得多,這sizeof(int)也是1,因?yàn)檫@兩個(gè)charint是32位。


查看完整回答
反對(duì) 回復(fù) 2019-05-28
  • 3 回答
  • 0 關(guān)注
  • 910 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)