Ngân hàng câu hỏi của chương

Câu hỏi: CSI106 - Phần 2: Hệ đếm và biểu diễn số

40 câu trắc nghiệm kèm lời giải của môn Introduction to Computer Science - CSI106, xếp theo thứ tự nhập vào ngân hàng. Trang 2/2 — câu 21–40.

Danh sách câu hỏi

40/40 câuHết danh sách
A64
B128
C256
D512
Lời giải
Đáp án đúng: "256". Một byte có 8 bit, mỗi bit nhận một trong hai giá trị, nên số tổ hợp khác nhau là 2 nhân với chính nó tám lần, tức 2 luỹ thừa 8 bằng 256; đó cũng là lý do một byte không dấu biểu diễn được các số nguyên từ 0 tới 255. "64" chỉ là số tổ hợp của 6 bit nên còn thiếu hai bit so với một byte. "128" ứng với 7 bit, đúng một nửa số tổ hợp của byte, và cũng là số ký tự mà bảng mã ASCII gốc mã hoá được. "512" cần tới 9 bit, nhiều hơn một byte đúng một bit.
Mở trang câu hỏi này →
A(B6)₁₆
B(B5)₁₆
C(A6)₁₆
D(C5)₁₆
Lời giải
Đáp án đúng: "(B6)₁₆". Chuyển nhị phân sang hệ mười sáu chỉ cần tách dãy bit thành từng nhóm bốn bit tính từ phải sang, ở đây là 1011 và 0110. Nhóm 1011 có giá trị 11, ký hiệu hệ mười sáu của 11 là chữ B; nhóm 0110 có giá trị 6, nên ghép lại được chữ B rồi chữ số 6. "(B5)₁₆" sai ở nhóm thấp, vì chữ số 5 ứng với 0101 chứ không phải 0110. "(A6)₁₆" sai ở nhóm cao, vì chữ A ứng với 1010 trong khi dãy đã cho là 1011. "(C5)₁₆" sai cả hai nhóm, vì chữ C ứng với 1100 và chữ số 5 ứng với 0101, hoàn toàn khác mẫu bit ban đầu. Cách kiểm nhanh là tính giá trị thập phân: mẫu bit đã cho bằng 182, đúng bằng 11 nhân 16 cộng 6.
Mở trang câu hỏi này →
A6D
BDB
CD6
DB6
Lời giải
Đáp án đúng: "DB". Mỗi chữ số hệ mười sáu ứng với đúng bốn bit, nên tách dãy từ phải sang trái thành 1101 và 1011. Nhóm bên trái 1101 có giá trị 13 nên viết là chữ D, nhóm bên phải 1011 có giá trị 11 nên viết là chữ B, ghép theo đúng thứ tự đó được kết quả. "6D" là kết quả khi đảo vị trí hai nhóm, như thể đọc dãy bit từ phải sang. "D6" sai ở chữ số cuối, vì 6 ứng với 0110 chứ không phải 1011. "B6" ứng với mẫu bit 10110110, khác dãy đã cho ngay ở bốn bit đầu. Thứ tự nhóm phải giữ nguyên như trong dãy nhị phân, nhóm bit cao luôn đứng trước.
Mở trang câu hỏi này →
AUsing a separate bit for the sign
BBy changing the least significant bit
CBy using a floating-point standard
DThrough the use of parity bits
Lời giải
Đáp án đúng: "Using a separate bit for the sign". Trong định dạng dấu và độ lớn, người ta dành riêng bit bên trái nhất để ghi dấu, thường 0 cho số dương và 1 cho số âm, còn các bit còn lại ghi độ lớn tuyệt đối của số. Nhờ vậy đổi dấu một số chỉ cần đảo đúng bit đó, phần độ lớn không thay đổi. "By changing the least significant bit" sai vì bit thấp nhất quyết định số chẵn hay lẻ, sửa nó là sửa giá trị chứ không phải sửa dấu. "By using a floating-point standard" sai vì chuẩn dấu phẩy động là một cách biểu diễn khác dành cho số thực, nó cũng có bit dấu riêng nhưng câu hỏi đang nói về định dạng dấu và độ lớn. "Through the use of parity bits" sai vì bit chẵn lẻ chỉ phục vụ việc phát hiện lỗi khi truyền hoặc lưu, không mang thông tin về dấu.
Mở trang câu hỏi này →
A(11000100)2
B(01001010)2
C(00101100)2
D(01001100)2
Lời giải
Đáp án đúng: "(01001100)2". Mỗi chữ số hệ mười sáu đổi thành đúng bốn bit và giữ nguyên thứ tự: chữ số 4 cho 0100, chữ C có giá trị 12 nên cho 1100, ghép lại được 0100 1100. "(11000100)2" sai vì đảo vị trí hai nhóm, đặt nhóm của 12 lên trước nhóm của 4. "(01001010)2" sai ở nhóm sau, vì 1010 có giá trị 10 chứ không phải 12. "(00101100)2" sai ở nhóm đầu, vì 0010 có giá trị 2 chứ không phải 4. Cách kiểm tra nhanh là đổi cả hai vế sang hệ mười: giá trị đã cho bằng 4 nhân 16 cộng 12, tức 76, và chỉ mẫu bit được chọn mới có giá trị 76.
Mở trang câu hỏi này →
APerforming calculations for a space mission
BCalculating the total sales of a small business
CDetermining the average temperature of a city
DCounting the number of students in a university.
Lời giải
Đáp án đúng: "Performing calculations for a space mission". Lỗi cắt sinh ra khi một số thực không biểu diễn hết được bằng số bit hữu hạn nên phần đuôi bị bỏ; sai số nhỏ ấy tích luỹ qua hàng loạt phép tính và có thể lệch rất xa kết quả thật. Tính toán cho một chuyến bay vũ trụ vừa đòi độ chính xác cao vừa phải thực hiện cực nhiều phép tính liên tiếp, nên cần ô nhớ dài hơn và cách biểu diễn chính xác hơn. "Calculating the total sales of a small business" sai vì cộng doanh thu chỉ cần hai chữ số thập phân, hoặc tốt hơn là tính theo đơn vị nhỏ nhất dưới dạng số nguyên. "Determining the average temperature of a city" sai vì nhiệt độ trung bình chỉ cần một hai chữ số thập phân, sai số nhỏ không gây hậu quả. "Counting the number of students in a university." sai vì đếm sinh viên cho ra số nguyên, không có phần phân nên không phát sinh lỗi cắt.
Mở trang câu hỏi này →
ADivision
BMultiplication
CAddition
DSubtraction
Lời giải
Đáp án đúng: "Division". Để chuyển một số nguyên hệ mười sang hệ hai, ta chia liên tiếp cho 2, ghi lại số dư mỗi lần rồi đọc dãy số dư theo chiều ngược từ lần chia cuối về lần đầu; mỗi số dư chính là một bit, và phép chia là thao tác sinh ra chúng. Phương án "Multiplication" là thủ tục dành cho phần lẻ sau dấu phẩy, nơi ta nhân liên tiếp với 2 và lấy phần nguyên, nên không phải phép dùng cho phần nguyên mà câu dẫn nhắm tới. Phương án "Addition" chỉ xuất hiện khi ta kiểm tra lại kết quả bằng cách cộng các luỹ thừa của 2, chứ không sinh ra chữ số nhị phân nào. Phương án "Subtraction" là thao tác phụ nằm bên trong phép chia; tự nó không cho ra dãy số dư, nên không phải phép toán đặc trưng của việc chuyển đổi này.
Mở trang câu hỏi này →
AThey represent values using symbols only.
BThe position of a digit determines its value.
CThey use Roman numerals.
DThey are limited to base 10.
Lời giải
Đáp án đúng: "The position of a digit determines its value.". Trong hệ đếm theo vị trí, giá trị của một chữ số bằng chính chữ số đó nhân với luỹ thừa của cơ số tương ứng với vị trí nó đứng, nên cùng chữ số 2 trong 20 và 200 mang hai giá trị khác nhau; hệ không theo vị trí thì mỗi ký hiệu luôn giữ một giá trị cố định dù đứng ở đâu. Phương án "They represent values using symbols only." không nêu được điểm phân biệt nào, bởi mọi hệ đếm đều biểu diễn giá trị bằng ký hiệu. Phương án "They use Roman numerals." chỉ sai đối tượng: số La Mã chính là ví dụ tiêu biểu của hệ không theo vị trí. Phương án "They are limited to base 10." bó hẹp sai, vì hệ theo vị trí hoạt động với mọi cơ số, từ hệ hai, hệ tám đến hệ mười sáu.
Mở trang câu hỏi này →
AMultiply by 8
BDivide by 8
CMultiply by 2
DDivide by 2
Lời giải
Đáp án đúng: "Multiply by 8". Với phần lẻ sau dấu phẩy, ta nhân phần lẻ với cơ số đích, lấy phần nguyên của kết quả làm chữ số kế tiếp rồi tiếp tục nhân phần lẻ còn lại; chuyển sang hệ tám nên cơ số là 8, và các chữ số thu được đọc theo đúng chiều từ lần nhân đầu tới lần nhân cuối. Phương án "Divide by 8" là thủ tục dành cho phần nguyên: chia liên tiếp cho 8 và ghi số dư, không áp dụng cho phần lẻ. Phương án "Multiply by 2" đúng cách làm nhưng sai cơ số, vì nhân 2 cho ra các chữ số của hệ hai. Phương án "Divide by 2" sai cả hai mặt: cơ số 2 không phải hệ tám, và phép chia dùng cho phần nguyên chứ không phải phần lẻ.
Mở trang câu hỏi này →
A1111100.01
B1111100.000001
C1111100.011001
D1111100.001001
Lời giải
Đáp án đúng: "1111100.000001". Phần nguyên 124 chia liên tiếp cho 2 cho dãy số dư đọc ngược là 1111100, kiểm lại bằng 64 cộng 32 cộng 16 cộng 8 cộng 4 đúng bằng 124. Phần lẻ 0,02 thì nhân liên tiếp với 2: năm lần đầu cho các giá trị 0,04 rồi 0,08 rồi 0,16 rồi 0,32 rồi 0,64 nên năm bit đầu đều là 0, lần thứ sáu cho 1,28 nên bit thứ sáu là 1, được 0,000001 tức 0,015625, xấp xỉ gần nhất. Phương án "1111100.01" có phần lẻ bằng 0,25, lệch hơn mười lần. Phương án "1111100.011001" có phần lẻ bằng 0,390625, lệch còn xa hơn nữa. Phương án "1111100.001001" có phần lẻ bằng 0,140625, vẫn lớn gấp bảy lần giá trị cần biểu diễn, do đặt sai bit 1 ở vị trí thứ ba.
Mở trang câu hỏi này →
AMantissa and Exponent
BReal and Imaginary
CSign and Magnitude
DBase and Variable
Lời giải
Đáp án đúng: "Mantissa and Exponent". Biểu diễn dấu phẩy động tách một số thành phần định trị, tức các chữ số có nghĩa sau khi chuẩn hoá, và phần số mũ cho biết phải dịch dấu phẩy bao nhiêu nấc; nhờ cặp này mà cùng một số lượng bit biểu diễn được cả số rất lớn lẫn số rất nhỏ. Phương án "Real and Imaginary" là hai phần của số phức, thuộc toán học chứ không phải cách máy lưu số thực. Phương án "Sign and Magnitude" là một cách biểu diễn số nguyên có dấu; dấu cũng có mặt trong dấu phẩy động nhưng chỉ chiếm một bit phụ, còn cặp này không nói được gì về việc dịch dấu phẩy. Phương án "Base and Variable" không đúng vì cơ số là hằng số ngầm định của chuẩn, thường là 2, nên không được lưu, và biến không phải một thành phần của khuôn dạng số.
Mở trang câu hỏi này →
A1 and 255
B1 and 256
C0 and 255
D0 and 256
Lời giải
Đáp án đúng: "0 and 255". Tám bit tạo ra 2 luỹ thừa 8 bằng 256 mẫu bit khác nhau; nếu dùng toàn bộ chúng cho số nguyên không dấu thì mẫu nhỏ nhất gồm tám bit 0 biểu diễn giá trị 0 và mẫu lớn nhất gồm tám bit 1 biểu diễn 255, nên dải lưu được là từ 0 tới 255. Phương án "1 and 255" đúng mốc trên nhưng bỏ mất giá trị 0, trong khi 0 hoàn toàn biểu diễn được và vẫn là một số nguyên không dấu hợp lệ. Phương án "1 and 256" sai cả hai đầu: vừa bỏ mất 0 vừa thêm 256, con số cần tới chín bit. Phương án "0 and 256" nhầm số lượng mẫu bit với giá trị lớn nhất; có 256 mẫu nhưng vì đếm bắt đầu từ 0 nên giá trị cuối cùng chỉ là 255.
Mở trang câu hỏi này →
A25
B32
C27
D26
Lời giải
Đáp án đúng: "32". Mỗi chữ số hệ tám ứng với đúng ba bit, nên ta chia số nhị phân thành nhóm ba bit tính từ bên phải: nhóm phải là 010 cho chữ số 2, nhóm còn lại là 11 cho chữ số 3, ghép lại được 32. Kiểm lại theo hệ mười: số nhị phân này bằng 26, và 26 bằng 3 nhân 8 cộng 2, đúng là 32 trong hệ tám. Phương án "25" ứng với giá trị 2 nhân 8 cộng 5 bằng 21, không khớp. Phương án "27" ứng với 2 nhân 8 cộng 7 bằng 23, cũng lệch, và chữ số 7 đòi nhóm bit 111 vốn không có ở đây. Phương án "26" chính là giá trị thập phân của số đã cho nên rất dễ bị chọn theo quán tính, nhưng đề hỏi cách viết trong hệ tám chứ không hỏi giá trị thập phân.
Mở trang câu hỏi này →
A-7
B7
C120
D134
Lời giải
Đáp án đúng: "134". Trong cách biểu diễn dư 127, trường số mũ không lưu trực tiếp số mũ thực mà lưu số mũ thực cộng với độ lệch 127, nhằm biến mọi số mũ, kể cả số mũ âm, thành số không dấu để so sánh dễ dàng. Số đã chuẩn hoá có số mũ thực là 7, nên trường số mũ mang giá trị 7 cộng 127 bằng 134. Phương án "-7" là số đối của số mũ thực, không liên quan tới cách lưu nào trong chuẩn này. Phương án "7" là chính số mũ thực khi chưa cộng độ lệch, tức bỏ qua đúng bước mà câu hỏi nhắm tới. Phương án "120" là kết quả của 127 trừ 7, tức trừ độ lệch thay vì cộng, một lỗi đổi dấu rất thường gặp khi mới học cách biểu diễn này.
Mở trang câu hỏi này →
A(1100010010)2
B(0100101010)2
C(1000101100)2
D(1001001100)2
Lời giải
Đáp án đúng: "(1001001100)2". Mỗi chữ số hệ mười sáu ứng với đúng bốn bit, nên ta đổi riêng từng chữ số: chữ số 2 thành 0010, chữ số 4 thành 0100, chữ số cuối mang giá trị 12 thành 1100; ghép theo đúng thứ tự được 0010 0100 1100, bỏ hai bit 0 không mang giá trị ở đầu thì còn 1001001100. Phương án "(1100010010)2" tách từ phải thành các nhóm 0010, 0001 và 11, tức ứng với 312 trong hệ mười sáu, không phải số đã cho. Phương án "(0100101010)2" tách ra các nhóm 1010, 0010 và 01, ứng với 12A, cũng lệch. Phương án "(1000101100)2" chỉ sai ở nhóm giữa, nơi nó cho 0010 thay vì 0100, nên ứng với 22C; đây là lỗi dễ mắc khi đổi nhầm một chữ số trong lúc nhẩm.
Mở trang câu hỏi này →
AAs text strings: sequences of characters representing the numerical value
BUsing ASCII codes: numerical representations of characters, not the integers themselves
CAs binary patterns: sequences of 0s and 1s corresponding to the binary representation of the integer
DAs hexadecimal values: a compact representation of binary patterns using base-16 notation
Lời giải
Đáp án đúng: "As binary patterns: sequences of 0s and 1s corresponding to the binary representation of the integer". Bộ nhớ máy tính chỉ chứa các bit, nên một số nguyên được lưu bằng chính mẫu bit biểu diễn giá trị của nó trong hệ hai, thường trên một số bit cố định và dùng cách biểu diễn bù hai nếu cần dấu; nhờ vậy mạch số học cộng trừ trực tiếp trên mẫu bit đó. Phương án "As text strings: sequences of characters representing the numerical value" là cách lưu văn bản, mỗi chữ số chiếm một mã ký tự riêng và không tính toán số học được ngay. Phương án "Using ASCII codes: numerical representations of characters, not the integers themselves" tự nói ra điểm sai của nó: mã ASCII là mã của ký tự, không phải giá trị số. Phương án "As hexadecimal values: a compact representation of binary patterns using base-16 notation" chỉ là cách con người viết gọn mẫu bit cho dễ đọc, bên trong máy vẫn là các bit không và một.
Mở trang câu hỏi này →
A1A
B2B
C1F
D2A
Lời giải
Đáp án đúng: "1A". Đổi 26 sang hệ mười sáu bằng cách chia liên tiếp cho 16: 26 chia 16 được 1 dư 10, chữ số dư 10 viết là A, thương 1 là chữ số kế tiếp, nên kết quả đọc theo chiều ngược là 1A. Kiểm lại: 1 nhân 16 cộng 10 bằng 26. Phương án "2B" có giá trị 2 nhân 16 cộng 11 bằng 43, lớn hơn hẳn. Phương án "1F" có giá trị 16 cộng 15 bằng 31, do lấy chữ số dư lớn nhất của hệ mười sáu thay vì phần dư thật. Phương án "2A" có giá trị 2 nhân 16 cộng 10 bằng 42, đúng phần dư nhưng sai thương của phép chia. Cách nhớ nhanh là một byte chia thành hai nửa bốn bit: 26 ở hệ hai là 0001 1010, nửa cao 0001 cho 1 và nửa thấp 1010 cho A.
Mở trang câu hỏi này →
Adivide by b
Bmultiply by b
Cadd to b
Dsubtract from b
Lời giải
Đáp án đúng: "divide by b". Giải thuật đổi một số nguyên hệ mười sang cơ số b là chia liên tiếp số đó cho b, mỗi lần giữ lại phần dư làm một chữ số, lấy thương làm số bị chia cho bước sau, tới khi thương bằng 0; dãy dư đọc theo chiều ngược chính là biểu diễn ở cơ số b. Phương án "multiply by b" là cách làm cho phần lẻ sau dấu phẩy, nơi ta nhân liên tiếp với cơ số rồi lấy phần nguyên, nên không áp dụng cho phần nguyên. Phương án "add to b" không tách được chữ số nào, vì cộng chỉ dịch giá trị chứ không bóc ra phần dư theo trọng số của cơ số. Phương án "subtract from b" cũng vậy: trừ lặp lại là cách làm chậm của phép chia nhưng bản thân nó không sinh ra dãy chữ số, và với số lớn thì không thể tiến hành.
Mở trang câu hỏi này →
AThe value of each symbol is fixed regardless of its position
BIt uses a limited number of symbols where each symbol has a fixed value
CThe position a symbol occupies in the number determines the value it represents
DIt represents numbers using Roman numerals or similar symbols.
Lời giải
Đáp án đúng: "The position a symbol occupies in the number determines the value it represents". Trong hệ đếm theo vị trí, mỗi chữ số được nhân với một trọng số là lũy thừa của cơ số ứng với chỗ nó đứng, nên cùng một ký hiệu mang giá trị khác nhau ở hai vị trí khác nhau; ví dụ chữ số 5 trong 52 đáng 50 còn trong 25 chỉ đáng 5. Phương án "The value of each symbol is fixed regardless of its position" tả đúng hệ không theo vị trí, tức điều ngược lại với câu hỏi. Phương án "It uses a limited number of symbols where each symbol has a fixed value" vừa nêu một điều kiện chung mà cả hai loại hệ đều có là bộ ký hiệu hữu hạn, vừa khẳng định giá trị cố định nên lại phủ nhận vai trò của vị trí. Phương án "It represents numbers using Roman numerals or similar symbols." lấy đúng ví dụ tiêu biểu của hệ không theo vị trí để gán cho hệ theo vị trí.
Mở trang câu hỏi này →
ATo efficiently store and process data
BTo standardize communication protocols
CTo confuse data
DTo complicate mathematical operations
Lời giải
Đáp án đúng: "To efficiently store and process data". Máy tính làm việc với hệ hai vì mạch điện chỉ phân biệt hai mức tin cậy, trong khi con người đọc số hệ mười, và lập trình viên dùng hệ mười sáu hay hệ tám để viết gọn mẫu bit; việc đổi qua lại giữa các hệ cho phép mỗi phía dùng cách biểu diễn phù hợp nhất mà dữ liệu bên trong vẫn được lưu và xử lý gọn, nhanh. Phương án "To standardize communication protocols" lẫn sang việc của các tổ chức tiêu chuẩn, chuẩn hoá giao thức không phải lý do tồn tại của phép đổi cơ số. Phương án "To confuse data" vô lý về mục đích, vì đổi cơ số không che giấu gì cả, giá trị vẫn như cũ và ai biết cơ số đều đọc được. Phương án "To complicate mathematical operations" đi ngược động cơ thiết kế, bởi người ta chọn hệ hai chính vì nó làm mạch tính toán đơn giản hơn chứ không rắc rối hơn.
Mở trang câu hỏi này →