1. 程式人生 > >32位64位作業系統基本資料型別位元組大小

32位64位作業系統基本資料型別位元組大小

在一些沒有作業系統的嵌入式計算機系統上,int的長度與處理器字長一致;有操作系統時,作業系統的字長與處理器的字長不一定一致此時編譯器根據作業系統的字長來定義int字長:"

比如你在64位機器(處理器)上執行DOS16系統(作業系統),那麼所有for dos16的C/C++編譯器中int都是16位的;在64位機器上執行win32系統,那麼所有for win32的C/C++編譯器中int都是32位的"

常見基本型別的位元組大小

32位作業系統

char :1個位元組(固定)

*(即指標變數): 4個位元組(32位機的定址空間是4個位元組。同理64位編譯器)(變化*)

short int : 2個位元組(固定)

int: 4個位元組(固定)

unsigned int : 4個位元組(固定)

float: 4個位元組(固定)

double: 8個位元組(固定)

long: 4個位元組

unsigned long: 4個位元組(變化*,其實就是定址控制元件的地址長度數值)

long long: 8個位元組(固定)


64位作業系統

char :1個位元組(固定)

*(即指標變數): 8個位元組

short int : 2個位元組(固定)

int: 4個位元組(固定)

unsigned int : 4個位元組(固定)

float: 4個位元組(固定)

double: 8個位元組(固定)

long: 8個位元組

unsigned long: 8個位元組(變化*其實就是定址控制元件的地址長度數值)

long long: 8個位元組(固定)
 

除了*與long隨作業系統子長變化而變化外,其他的都固定不變(32位和64相比)

bool 1個位元組  char 1個位元組      int 4個位元組   float 4個位元組       doubl 8個位元組   long long 8個位元組

2.派生類和基類構造、析構的順序

下面這段程式的輸出是什麼?

class A{
    public:
        A(){p();}
        virtual void p(){print("A")}
        virtual ~A(){p();}
};
class B:public A{
    public:
        B(){p();}
        void p(){print("B")}
        ~B(){p();}
};
int main(int, char**){
        A* a=new B();
        delete a;
}
  • AABB
  • BBAA
  • ABAB
  • ABBA
解答:D

父類構造 -> 子類構造 -> 子類析構 -> 父類析構

題目想構造一個B類的物件,B繼承自A,所示首先構造A,A中建構函式呼叫P,接下來構造B,呼叫B的P函式(輸出B),接著析構從派生類到基類,首先析構B,呼叫B的P函式(輸出B),接著呼叫A的解構函式,呼叫自己的P函式(輸出A)。

相關推薦

c++中3264作業系統基本資料型別位元組大小

int型字長問題: ① C/C++規定int字長和機器字長相同; ② 作業系統字長和機器字長未必一致; ③ 編譯器根據作業系統字長來定義int字長;   由上面三點可知,在一些沒有作業系統的嵌入式計算機系統上,int的長度與處理器字長一致;有操作 系統時,作業系

3264作業系統基本資料型別位元組大小

在一些沒有作業系統的嵌入式計算機系統上,int的長度與處理器字長一致;有操作系統時,作業系統的字長與處理器的字長不一定一致,此時編譯器根據作業系統的字長來定義int字長:" 比如你在64位機器(處理

3264作業系統基本資料型別位元組大小 2014-03-12 09:44

int型字長問題: ① C/C++規定int字長和機器字長相同; ② 作業系統字長和機器字長未必一致; ③ 編譯器根據作業系統字長來定義int字長;   由上面三點可知,在一些沒有作業系統的嵌入式計算機系統上,int的長度與處理器字長一致;有操作 系統時,作業系統的字長與處

Object c/swift,java,c/c++在3264各個平臺上基本資料型別 所佔有的位元組

現在很多app和伺服器互動,雙方收到對方收據,怎麼才能完整解析訊息,是大家都會遇到的問題。現在來看以下他們的位元組長度差異。 iOS 64位編譯器,對應64位系統,包含機型(iphone5s—同時執行32位應用和64位應用,iphone6, iphone6

Java基本資料型別大小,他們的封裝類以及自動拆箱和裝箱

Java提供了一套基本資料型別,總共有八種,也會有人說是有九種。 在我們的印象中,很多人可能會說出byte,short,int,long,float,double,boolean,char這八種資料型別。 那麼還有一種是哪種呢,它到底是不是資料型別呢? 我們很容易忽略一個void,有

C++中基本資料型別位元組數及取值範圍【轉】

【轉自】:http://blog.csdn.net/a775992553/article/details/8790241 機器字長:是指計算機進行一次整數運算所能處理的二進位制資料的位數(整數運算即定點整數運算)。機器字長也就是運算器進行定點數運算的字長,通常也是CPU內部資料通路的寬度。現在一

詳解C++中基本資料型別位元組

C標準中並沒有具體規定哪個基本型別應該是多少位元組數,但有幾條鐵定的原則(ANSI/ISO制訂的): sizeof(short int)<=sizeof(int) sizeof(int)<=sizeof(long int) short

(常見面試問題)九種基本資料型別大小,以及他們的封裝類

注:事實上應該是八種基本資料型別,String類並不屬於基本型別。 整型有四種。其中byte和short應用於底層檔案處理或者需要佔據儲存空間量的大陣列。 整型 型別 大小 封裝類 byte 1位元組 Byte short 2位元組 Short int 4位元組 Integer long

八種基本資料型別大小,以及他們的封裝類。

byte short int long float double char boolean 基本型別:byte二進位制位數:8包裝類:java.lang.Byte最小值:Byte.MIN_VALUE=

八種基本資料型別大小以及他們的封裝類

Java中分為兩大資料型別 :基本資料型別和引用資料型別 基本資料型別分為8種: 基本型別:byte 二進位制位數:8 包裝類:java.lang.Byte 最小值:Byte.MIN_VALUE=-128 最大值:Byte.MAX_VALUE=127 基本型別:short

java八種基本資料型別大小,以及他們的封裝類

   在我們面試或者考試過程中經常會考到八種基本資料型別以及它們的封裝類,那麼有哪八種基本資料型別呢?它們的封裝類又是什麼呢?     首先,八種基本資料型別分別是:int、short、float、double、long、boolean、byte、char;它們的封裝

Java 8 種資料型別 位元組大小

原文出處 部落格地址 http://blog.csdn.net/never_cxb https://blog.csdn.net/never_cxb/article/details/47204485 型別 大小 int 4個位元

C++32系統與64系統基本資料型別

32位與64位系統資料型別不同的平臺上對不同的資料型別分配的位元組數是不同的,一般的,資料型別的位元組數是由編輯器決定的(編譯期間決定資料型別長度)。簡單來說,平臺就是CPU+OS+Compiler,cpu的位是指一次性可處理的資料量是多少,1位元組=8位,32位處理器可以一

基本資料型別32系統和64系統中所佔位元組

最近看到這方面的知識,眾說紛紜,所以自己動手實驗下。請看程式碼: #include<iostream> using namespace std; int main() { cout << "字元資料:" <<

3264作業系統中各個資料型別大小

(一)32位系統和64位有什麼區別?  1、64bit CPU擁有更大的定址能力,最大支援到16GB記憶體,而32bit只支援4G記憶體; 2、64位CPU一次可提取64位資料,比32位提高了一倍,理論上效能會提升1倍。但這是建立在64bit作業系統和64bit軟體的基礎

C/C++3264編譯器下,各資料型別和指標變數分配記憶體大小

1. 32位定址空間 資料型別 佔用位元組數(位元組) 說明 資料型別 佔用位元組數(位元組) 說明 Bool 1 char 1

C++那些細節--3264資料型別的區別

Platform SDK: 64-bit Windows Programming Abstract Data Models Every application and every operating system has an abstract data model. Many applications do

3264下各種資料型別大小的對比

1.基本資料型別大小的對比 關於資料型別的大小,總是記不住,這裡也算有個記錄,順便看一下32位和64位之間的差別: 我寫了一小段測試程式碼: // C++Test.cpp : 定義控制檯應用程式的入口點。 #include <iostream>

3264編譯器下c語言資料型別對應位元組

一、程式執行平臺         不同的平臺上對不同資料型別分配的位元組數是不同的。         個人對平臺的理解是CPU+OS+Compiler,是因為:         1、64位機器也可以裝32位系統(x64裝XP);         2、32位機器上可以有16

【python小課堂專欄】python小課堂03 - 基本資料型別制篇

python小課堂03 - 基本資料型別進位制篇 什麼是進位制? 來自百度: 進位制也就是進位計數制,是人為定義的帶進位的計數方法(有不帶 進位的計數方法,比如原始的結繩計數法,唱票時常用的“正”字計 數法,以及類似的tally mark計數)。