1. 程式人生 > >基本資料型別在32位系統和64位系統中所佔位元組數

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

最近看到這方面的知識,眾說紛紜,所以自己動手實驗下。請看程式碼:

#include<iostream>
using namespace std;

int main()
{
    cout << "字元資料:" << endl;
    cout << "char\t" << sizeof(char) << endl;
    cout << "unsigned char\t" << sizeof(unsigned char) << endl;
    cout << "char*\t"
<< sizeof(char*) << endl << endl; cout << "整型資料:" << endl; cout << "int\t" << sizeof(int) << endl; cout << "unsigned int\t" << sizeof(unsigned int) << endl; cout << "short\t" << sizeof(short) << endl; cout
<< "unsigned short\t" << sizeof(unsigned short) << endl; cout << "long\t" << sizeof(long) << endl; cout << "unsigned long\t" << sizeof(unsigned long) << endl; cout << "long long\t" << sizeof(long long) << endl << endl; cout
<< "浮點資料:" << endl; cout << "float\t" << sizeof(float) << endl; cout << "double\t" << sizeof(double) << endl; cout << "long double\t" << sizeof(long double) << endl << endl; cout << "字串資料:" << endl; cout << "string\t" << sizeof(string) << endl; }

測試環境是Visual Studio 2013,首先程式碼是在預設的32位系統下執行,結果如下圖:
這裡寫圖片描述

然後調整Visual Studio 專案屬性,切換到64位系統下執行程式,過程如下圖:
這裡寫圖片描述

這裡切換32位系統為64位:
切換系統過程

切換完成後重新執行程式,結果如下圖:
這裡寫圖片描述

對比下我們就可以知道32位系統和64位系統下,不同型別資料所佔位元組數的差異!

在Linux環境中進行測試結果如下,測試環境分別為32位ubuntu和64位centos:

這裡寫圖片描述


這裡寫圖片描述

從中看到long型資料在64位系統中佔8位元組,與VisualStudio的結果不同,應特別注意。一般題目應該特指Linux環境下,需多加註意!

相關推薦

基本資料型別32系統64系統位元組

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

OCchar/short/int/float/double在64系統位元組

size_t charSize = sizeof(char); NSLog(@"charSize = %zu", charSize);

sizeof運算子來獲取各種資料型別在記憶體位元組--gyy整理

C++並沒有規定各種資料型別在記憶體中的儲存大小,依賴於不同的編譯器的不同而不同,要想獲知當前編譯器對各種資料型別分配的大小,可以通過sizeof運算子來獲取。 使用方法1: sizeof(資料型別)   使用方法2: sizeof(變數名   或 常量名 或 表示式  )

32系統64系統資料型別的長度

轉載:http://blog.csdn.net/huyisu/article/details/17604983 int型字長問題: ① C/C++規定int字長和機器字長相同; ② 作業系統字長和機器字長未必一致; ③ 編譯器根據作業系統字長來定義int字長; 由上面三點可

32系統64系統的選擇

64位系統 作為一名網絡管理員,經常會給辦公電腦安裝系統,但是大部分企業的辦公電腦配置一般不會很高。在選擇系統的時候可能需要註意一些問題。 隨著XP的淘汰,可能大家都會選擇更新到win7,之前2GB內存會考慮增加到4GB內存,那可能就會考慮居然內存有4GB了,是不是需要安裝64位的Wi

32系統64系統的區別

32位和64位系統指的是:計算機CPU處理資訊的方式,64位作業系統能夠處理更大量的RAM資料,換句來說,64位作業系統支援更大的內容容量,64位作業系統相比32位作業系統處理資訊的效率亦更高。  

32系統64區別

第一,設計初衷不同。64位作業系統的設計初衷是:滿足機械設計和分析、三維動畫、視訊編輯和創作,以及科學計算和高效能運算應用程式等領域中需要大量記憶體和浮點效能的客戶需求。換句簡明的話說就是:它們是高科技人員使用本行業特殊軟體的執行平臺。而32位作業系統是為普通使用者設計的。

32機器64機器各型別的長度對比

1.Linux下檢視系統位數的指令:                                                                                      getconf LONG_BIT                

一句話總結Windbg 32版本64版本的選擇

調試 strong 位或 代碼 目標 分享 .aspx 一個 tro 慣了Vsiual Studio的兄弟們可能會因為先入為主的原因以為所有的調試器都應該像它那樣,其實不然,當你安裝Debugging Tools for Windows的時候,你將發現有兩個系列的工具,一系

vs裡32專案64專案的區別

由於作業系統記憶體分配的不同,導致軟體開發過程中,需要編譯不同版本的軟體。 1。編譯程式根據需要選擇不同的編譯環境。 x86和win32為32位程式,x64為64位程式,可以選擇不同的編譯條件形成不同位的軟體。 2。程式碼中的基本資料型別,會根據作業系統的位數來分類記憶體大小。 如int型在32位作業系統下為

【python小課堂專欄】python小課堂10 - 基本資料型別終篇集合字典

python小課堂10 - 基本資料型別終篇集合和字典 基礎型別集合 python中集合的概念就像我們高中數學學過的集合概念相似,集合英文:set。下面來看下集合的寫法: 重點,說下集合的特色: >>> {1,2,3,4,5,6} - {3,4}

基本資料型別做形參物件做形參的區別

//Testl.java public class Testl {    public static void main(String[]args)       {          //宣告並定義區域性變數local          int local=0;    

32作業系統64作業系統區別

1,定位不一樣。64位滿足高效能(機械設計,分析,三維動畫等):大量系統記憶體和浮點效能。    即高科技人員使用,32的是給普通人用的2,配置不同。64系統只能裝64位電腦上,32位的可以裝在32,還可以裝在64上(但是發揮不會64的硬體效能)3,運算速度不同。64的處理器

java 基本資料型別最大值最小值及各自的極限

測試 Integer, Long, Float 和 Double 的最大值和最小值,程式碼如下: public static void main(String[] args) { System.out.println("Integer.MIN_VALUE = " + In

32Eclipse64Eclipse同時在64的Windows7上執行

參考這篇文章:http://wenku.baidu.com/view/57994c270066f5335a81214c.html 個人在這裡做些補充和個人的一些看法。 首先關於32位/64位系統,jdk32位,64位和eclipse 32位和64位的一些對應

Day16 基本資料型別物件包裝類 集合的入門

 基本資料型別物件包裝類 為了方便操作基本資料型別值,將其封裝成了物件,在物件中定義了屬性和行為豐富了該資料的操作。用於描述該物件的類就稱為基本資料型別物件包裝類。byte--->Byteshort--->Shortint--->Integerlong---

c# 3264機 讀取Excel內容到DataSet

----------------------32位機 //註釋說明 //ExclePath  為Excel路徑     批號  是指Excel檔案中某一列必填項 public static DataSet GetDataTableForExcel(String Excl

Windbg 32版本64版本的選擇

如果你對我的部落格有任何的意見和建議或是想和我交流技術、學習和生活,請和我聯絡!!;QQ:979840319;[email protected] ; windbg軟體除錯交流群:128417096

32機器64機器

#include <stddef.h>OS version:Red Hat Enterprise Linux Server release 5.3 (Tikanga) Linux 2.6.18-128.el5 #1 SMP Wed Dec 17 11:41:38 EST 2008 x86_64 x

批處理判斷32win764win7

最近寫了一個批處理,裡面需要用到判斷32位win7和64位win7,進行不同的複製、呼叫 安裝程式等操作 1、建立bat檔案,複製以下內容 @echo off for /f "tokens=1* delims=[" %%a in ('ver') do set b=%%b