一些程式語言的觀念問題 - 考試

Table of Contents

小弟最近在準備資訊類的國考,因為不算本科系出身,所以觀念很薄弱,

最近有些程式語言的觀念問題搞不太清楚,想請問版上各位大大,問題如下:

Q1: 有一浮點數float(如47.75)依照IEEE754的格式儲存,轉成正規化

1.0111111 * 2^5,那他存入欄位應該是下面哪個呢?

正負 指數 小數

(A) 0 10000100 00000000000000010111111

(B) 0 10000100 00000000000000000111111

(C) 0 10000100 01111110000000000000000

(D) 0 10000100 10111111000000000000000

老師上課的時候講的是(A),可是我GOOGLE有人答案跟老師的不太一樣

他答案是(C)

他小數欄位只存小數點以下部份,而且是從小數欄位最前面開始存

而老師上課是講連小數點前的1也存,而且從小數欄位最後面開始存
參考:1. http://jmiiv.blogspot.tw/2008/08/ieee-754.html
2. http://babbage.cs.qc.cuny.edu/IEEE-754/index.xhtml

那到底哪個答案才是正確的呢?要是考試要我寫出來我該用哪種表示呢?

Q2: 超載(overload)是在同一層中名稱相同的函式,但參數的型態或數量不同,

呼叫時以實際參數來決定呼叫的參數。

例如:
class a{
..........................
public:
void foo(){.....};
void foo(int a){.....};
void foo(int a,int b){.....};
void foo(double a){.....};
..........................
..........................
};
以上4個函式屬於overload

但是如果同一層中函式名稱相同,回傳型態不同,

參數的型態或數量不同,這樣算是overload嗎?

例如:
class a{
..........................
..........................
public:
void foo(){.....};
int foo(int a){.....};
double foo(double a){.....};
..........................
..........................
};
這樣以上三個函式算是overload嗎?

Q3: 要是有類別b繼承類別a,在b類別中有和a類別名稱相同,

參數的型態和數量不同,那他和類別a中的函式算overload嗎?

例如:
class a{
..........................
public:
void foo(){.....};
void foo(int a){.....};
void foo(int a,int b){.....};
void foo(double a){.....};
..........................
..........................
};
class b:public a{
..........................
..........................
public:
void foo(double a,double b){.......};
};
這樣類別b中的函式算overload嗎?

希望版上各位高手大大能幫小弟解除腦中的困惑,釐清一下觀念,

謝謝各位!

--

All Comments

Andy avatarAndy2012-12-29
放進去的位數不夠 尾數補零阿 所以C阿