隨機數和進製

2021-10-23 09:37:03 字數 679 閱讀 3352

有學到在學校沒用過的

產生隨機數:

#include

srand(time(null));

int op=rand();

如果產生某個範圍內的隨機數

假設:(1-31)

int op=rand()%31+1;

可變長陣列

int n=0;

scanf("%d",&n);

int arr[n];

主要用在最開始不知道陣列長度的情況

嵌入式的經典進製用法

1.對於乙個未知的int num, 需要把num的第5個二進位制位變成1,其它二進位制位不能改變

把num的第7個二進位制位置0,其它位不變

num = num|16; num = num | (1<<4);

num = num&-65; num = num & ~(1<<6);

把num第8-11的二進位制位全部置1 其它位不變

num = num | (0xf<<7);

把num第16-19的二進位制位全部取反 其它位不變

num = num ^ (0xf<<15);

2.通過位運算來表示 int 型別的最大值 和 最小值

int max = ~(1<<31);

int min = 1<<31; 對於signed,最小值的二進位制是最高位為1,其餘位為0

隨機數生成 偽隨機數和真隨機數

c語言隨機數的生成,很隨機,又不隨機,比如像下面的程式 c語言生成隨機數的函式在stdlib.h庫中 include includeint main return 0 上面的 經過執行生成了 41 18467 6334 26500但是無論執行多好遍結果都是一樣的,隨機數並不隨機。這是因為rand 函...

隨機數 科普 真隨機數和偽隨機數

位元幣使用者很喜歡討論 非對稱加密 橢圓曲線 量子計算機 這類高深莫測的話題,然後再以一種非常莫名其妙的方式把幣弄丟,比如說 隨機 隨機很重要,對於位元幣這種密碼學電子貨幣來說,尤其重要。可惜社群內對於隨機的討論並不多,導致很多人缺乏正確的認識,因此,我們今天就和大家聊聊隨機。說到隨機,有兩個必須要...

隨機數 偽隨機數

隨機數 偽隨機數 rand函式在產生隨機數前,需要系統提供的生成偽隨機數序列的種子,rand根據這個種子的值產生一系列隨機數。如果系統提供的種子沒有變化,每次呼叫rand函式生成的偽隨機數序列都是一樣的。srand unsigned seed 通過引數seed改變系統提供的種子值,從而可以使得每次呼...