1、 單精度浮點數的定義:float adf = 0.2;為什麼會警告?
因為0.2預設是雙精度,所以添上f即可,float adf = 0.2f;
2、 int和long int有多少位?
#include
int main()
我的輸出是4,4
3、 怎樣正確的比較float型變數和0的大小?
float型變數和「零值」比較的方法:
const float epsinon = 0.000001;
if ((x >= - epsinon) && (x <=epsinon))
浮點型變數並不精確,其中epsinon是允許的誤差(即精度),所以不可將float變數用「==」或「!=」與數字比較,應該設法轉化成「>=」或「<=」形式。如果寫成if (x == 0.0),則是錯誤的。
因為1.0在計算機中可能存為0.999999或1.00001等,很難恰好是1.0
4、 有符號數是怎樣儲存的?
第一位是符號位,1為負,0為正
5、 有符號數是怎樣移位的?
僅是無符號數操作,左移動n位,是乘以2的n次方
右移n位,是除以2的n次方
帶符號數操作,丟棄符號位最高位,0補最低位。
總之,在c中,左移是邏輯/算術左移(兩者完全相同),右移是算術右移,會保持符號位不變.實際應用中可以根據情況用左/右移做快速的乘/除運算,這樣會比迴圈效率高很多
6、 陣列名、指標和位址之間有什麼關係?
陣列名就是陣列第乙個元素的位址,用其代替陣列位址。a=&a[0]
7、 指標常量、常量指標和常量常指標有什麼區別?
int a;
int * const p = &a //指標常量,*p可以修改*p = 8;(ok)
p不可以修改 p++(error)
int a,b;
const int *p = &a;//常量指標 *p不可修改 *p = 8;(error)
p 可以修改 p = &b (ok)
還有一種
const int * const p = &a; // *p 和 p均不可改變了
8、 空指標和野指標有什麼區別?
空指標:空指標是乙個特殊的指標值,也是唯一乙個對任何指標型別都合法的指標值。指標變數具有空指標值,表示它當時處於閒置狀態,沒有指向有意義的東西。
通用指標:通用指標,它可以指向任何型別的變數。通用指標的型別用(void *)表示,因此也稱為void 指標。
野指標:野指標也就是指向不可用記憶體區域的指標。通常對這種指標進行操作的話,將會使程式發生不可預知的錯誤。
#include
int main()
12、 預處理都做了什麼?
注釋,define(typedef在編譯階段,不在預處理),條件編譯
#include#define test 3 //巨集定義 test 為3
void main(void)
13、 static定義的變數和函式各有什麼性質?
不可以被其他檔案引用
14、 sizeof是函式嗎,和strlen有什麼區別?
sizeof是算符,strlen是函式。
sizeof還可以用函式做引數,比如:
short f();
printf("%d\n", sizeof(f()));
輸出的結果是sizeof(short)
大部分編譯程式 在編譯的時候就把sizeof計算過了
char str[20]="0123456789";
int a=strlen(str); //a=10;
int b=sizeof(str); //而b=20;
15、 volatile和**優化有什麼關係嗎?
a=x;
b=x;
比如x被使用了兩次,但是他的值沒有被修改,那麼編譯器就會把x存到乙個地方,而不是初始點,這樣再用x時就直接從這個地方獲取,更快。
但是x的值被改變了就不一樣了。如果沒有規定volatile的話,編譯器為了安全就不會設定上面提到的這樣的快取區,就不會優化。有了的話,如果不用關鍵字volatile的話,計算機就會嘗試用這樣的乙個快取區進行優化。因此volatile的設定給計算機(編譯器)優化的機會。另外volatile和const可以同時用,程式自身不能修改,但是可以被程式以外的**改變。
對張量的理解,Tensor
講解contiguous,因為view需要連續的,但是現在reshape已經實現了congtiguous和view功能。個人覺的這個解釋很好 什麼是張量 tensor實際上就是乙個多維陣列 multidimensional array 其目的是能夠創造更高維度的矩陣 向量。為什麼用variable ...
對學長TD課程通的評價
首先進入軟體首先是課程介面,設計的簡單精緻,功能全面,就是背景圖稍微有點粗糙,但用到校徽的想法很好。在 課程 表介面長按乙個課表可以刪除它,我感覺這個設計很巧妙,但是是不是要加乙個鎖定功能,萬一不小心長按了,就沒了。新建課程裡面星期幾的課,從第幾節課開始,第幾節課結束還有課室,這些設定成選項就更好了...
tensorflow實現對張量資料的切片操作
import tensorflow as tf a tf.constant 1,2,3,4 4,5,6,7 7,8,9,10 11,12,13,14 20,21,22,23 15,16,17,18 print a.shape b,c tf.split a,2,0 引數1 張量 2 獲得的切片數 3 ...