1. 程式人生 > >linux中資料型別的表示與思考

linux中資料型別的表示與思考

uint64_t 型別 可以支援64位的無符號數,使用這個關鍵字,需要引用標頭檔案#include<inttypes.h>

在使用多執行緒的過程中,pthread_create(&tid,NULL,func,arg);
如果只是想傳一個數進去,那麼可以直接寫成pthread(&tid,NULL,func,(void *)arg);
然後在實際的func函式中將資料轉換回來。
void *func(void *arg){
    int id = (int)arg;
//TODO:
}
這樣做,gcc會提出警告,如果說你可以確保arg的資料是在int範圍之內的,這樣使用完全沒問題,如果無法確保,即當資料>2^31-1 的時候,這樣使用就會出錯,程式設計的時候需要自己衡量。

而且 b = (200<<20)*300 這樣系統會報警告,而且執行時會顯示溢位。
因為他把右邊的變數當成32位的型別處理了,而該臨時變數儲存不下導致的。
應該寫成 b=(200<<20)*(300ull);
閱讀(49) | 評論(0) | 轉發(0) | 給主人留下些什麼吧!~~ 評論熱議

相關推薦

linux資料型別表示思考

uint64_t 型別 可以支援64位的無符號數,使用這個關鍵字,需要引用標頭檔案#include<inttypes.h> 在使用多執行緒的過程中,pthread_create(&tid,NULL,func,arg); 如果只是想傳一個數進去,那麼可以直接

VHDL資料型別轉換移位(STD_LOGIC_ARITHNUMERIC_STD)

1. VHDL目前常用庫檔案 目前寫VHDL程式時,大部分人已經熟悉的庫呼叫如下所示: library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_arith.all; use ieee.std_logic_unsi

Hibernate配置檔案資料型別datetimestamp區別

例如: <property name="createDate" type="timestamp" column="createDate"/> <property name="createDate" type="date" column="createDat

java資料型別在堆的儲存

1.基本資料型別 eg:int i=1; 基本資料型別都存在棧中,它並沒有建立物件,只是將值放入變數的引用中。 2.引用型別         2.1  String a="abc"; //實際上a是引用變數,"abc"是物件(其實也算不上物

MySQL 你應該使用什麼資料型別表示時間?

導讀 當你需要儲存日期時間資料時,一個問題來了:你應該使用 MySQL 中的什麼型別?使用 MySQL 原生的 DATE 型別還是使用 INT 欄位把日期和時間儲存為一個純數字呢? 在這篇文章中,我將解釋 MySQL 原生的方案,並給出一個最常用資料型別的對比表。我們也

C語言java語言資料型別的差別總結

在學習java的時候,看到char ch =  '男' ;我就覺得很奇怪,char型別不是佔用一個位元組嗎?為什麼定義成一個漢字被說成是一個字元了?原來,在C語言中,char在32位作業系統下佔用1個位

C語言型別轉換資料的機器碼儲存

各種型別的表示範圍 對於涉及到了混合著不同資料型別的表示式中的資料型別的轉換問題。在總結轉換問題之前,先說明一下32位機上的各種資料型別。 型別名 位元組數 其他型別名 10進製表示範圍(機器碼) char 1 signed char -128

MySQL資料型別charvarchar數字代表的究竟是位元組數還是字元數?

例項是最好的說明,所以,廢話少說,看錶看例子~ mysql> show create table test_varchar_utf8\G *************************** 1. row *********************

JavaScript資料型別資料型別的劃分區別

JavaScript中資料型別包括:         Number String Boolean Object Funtion Null undefined JavaScript資料型別分為引用型別和基本型別         基本型別:Number String Boo

C# 泛型資料型別判定轉換

提到型別轉換,首先要明確C#中的資料型別,主要分為值型別和引用型別: 1.常用的值型別有:(struct) 整型家族:int,byte,char,short,long等等一系列 浮點家族:float,double,decimal 孤獨的列舉:enum 孤獨的布林:bool 2.常用的引用型別有: string

[Linux] Linux 的基本命令目錄結構(初稿)

展開 src 文件名 auto 使用 bin target editor 提示符 Linux 中的基本命令與目錄結構 目錄 一、Linux 基本目錄結構 二、基本命令 三、瀏覽目錄 四、中間命令 五、更改密碼 六、環境變量和 shell 變量 七、命令路

[Linux] Linux 的基本命令目錄結構(待移除)

head 命令 存在 壓縮 下載 創建文件 name 批處理 targe 簡化 Linux 中的基本命令與目錄結構 目錄 一、Linux 基本目錄結構 二、基本命令 三、瀏覽目錄 四、中間命令 五、更改密碼 六、環境變量和 shell 變量 七、命令路徑

linux的常用壓縮解壓縮命令

tar post 文件名 壓縮文件 body 比較 目錄名 解壓 class linux中常用的壓縮格式有 .zip .gz .bz2 .tar.gz .tar.bz2 一、.zip 1.命令格式 zip 壓縮文件名 源文件名 (壓

Linux軟鏈接硬鏈接詳細解讀

正常 -a ext 驗證 觀察 imp file border ali 目標:1.測試環境模擬2.軟鏈接特性3.硬鏈接特性4.總結1.測試環境模擬12345678910111213[root@localhost home]# mkdir test 創建測試文件夾[root@

JS資料型別的分類

JS中資料型別的分類: (1).基本資料型別: 1.數字(number) 2.字串(string) 3.布林(boolean) 4.null 5.undefined (2).引用資料型別: 1.物件資料型別(object) 2.函式資料型別(function)

Javascript資料型別&深淺拷貝二

資料型別: Javascript中有5種基本資料型別(簡單資料型別),分別為:Undefined, Null, Boolean, Number和String; 同時還含有一種複雜資料型別,即物件(雖然js中一切皆為物件) 其中Undefined和Null的區別為: U

Linuxwget、yumapt-get用法及區別

一般來說著名的linux系統基本上分兩大類: RedHat系列:Redhat、Centos、Fedora等 Debian系列:Debian、Ubuntu等 RedHat 系列  常見的安裝包格式 rpm包,安裝rpm包的命令是“rpm -引數” 包管理工具 yum 支援tar包 Deb

java資料型別

xl_echo編輯整理,交流學習請加1280023003 百戰不敗,依不自稱常勝,百敗不頹,依能奮力前行。——這才是真正的堪稱強大!! 基本資料型別有一下四種 int資料型別有: byte(8bit, -128~127) short(16bit) int

linuxsleep、usleppdelay命令的使用

有時候寫Shell的指令碼,用於順序執行一系列的程式。 有些程式在停止之後並沒能立即退出,就例如有一個 tomcat 掛了,就算是用 kill -9 命令也還沒瞬間就結束掉。 這麼如果 shell 還沒等其退出就接著執行下一行,這麼就出亂子了。 剛知道了原來 shell 也能有 slee

資訊競賽資料的輸入輸出

cin函式: 概述:cin函式可以方便的讀取資料,但是速度相對慢一些 首先,需要包含iostream標頭檔案,也就是這樣 #include<iostream> 之後,我們先宣告變數,比如: int a; string str; long lo