#include <stdio.h> int main(void) { int i, j; long dec; /* ให้รับค่าอินพุทแบบ Long Integer - เลขจำนวนเต็มแบบยาว */ int bit[32]; /* จองพื้นที่ในการเก็บข้อมูลเลขฐาน 2 ลงใน Array */ clrscr(); /* เคลียร์หน้าจอ */ scanf("%ld", &dec); /* ต้องใช้ ld เพราะ Input มันเป็นแบบ Long Integer */ i = 0; /* กำหนดค่าเริ่มต้นของ Array */ /* ทำตามที่ได้ออกแบบโปรแกรมเอาไว้ ... ยังไงยังงั้นเลย 55555+ */ do { bit[i++] = dec % 2; /* การหารเอาเศษ เพื่อให้เป็นคำตอบ */ /* การหารทั่วไป แต่ตัวแปร dec ของภาษา C มันเป็น Integer หรือ เลขจำนวนเต็ม */ /* ดังนั้นมันจึงตัดเศษ (หรือทศนิยม) ทิ้งไปโดยอัตโนมัติ */ dec = dec / 2; } while (dec > 0); /* เงื่อนไขที่ทำจนกระทั่ง dec = 0 ก็ออกจากวังวนเงื่อนไข */ /* การแสดงผลของการแปลงเลขฐาน 10 เป็นเลขฐาน 2*/ /* j = i - 1 และให้ j ลดค่าลงทีละ 1 ... ก็คืออ่านข้อมูลถอยหลังกลับเท่านั้นเองครับ */ /* เพราะตัวแปรแบบ Array ในภาษา C มันเก็บข้อมูลจากซ้ายไปขวา */ /* ทำให้ LSB มันไปอยู่ทางซ้าย ส่วน MSB มันไปอยู่ทางขวา */ for(j = i - 1; j >= 0; j--) return 0; }
#include <stdio.h> main() { int A[3][3]={{1 ,1 ,1 }, {1 ,1 ,1 }, {1 ,1 ,1 }}; int B[3][3]={{2 ,2 ,2 }, {2 ,2 ,2 }, {2 ,2 ,2 }}; int C[3][3]; for (int i = 0; i <3 ; i++) { for (int j = 0; j < 3; j++) { C[i][j] = A[i][j] - B[i][j]; } } for (int i = 0; i < 3; i++) { for (int j = 0; j < 3; j++) { printf(“%d”,C[i][j]); } printf(“\n”); } return 0; }
#include <stdio.h> int main(void) { int i, j; long dec; /* ให้รับค่าอินพุทแบบ Long Integer - เลขจำนวนเต็มแบบยาว */ int bit[32]; /* จองพื้นที่ในการเก็บข้อมูลเลขฐาน 2 ลงใน Array */ clrscr(); /* เคลียร์หน้าจอ */ printf("Decimal Number : "); /* แจ้งผู้ใช้เพื่อเตรียมป้อนค่าเลขฐาน 10 */ scanf("%ld", &dec); /* ต้องใช้ ld เพราะ Input มันเป็นแบบ Long Integer */ i = 0; /* กำหนดค่าเริ่มต้นของ Array */ /* ทำตามที่ได้ออกแบบโปรแกรมเอาไว้ ... ยังไงยังงั้นเลย 55555+ */ do { bit[i++] = dec % 2; /* การหารเอาเศษ เพื่อให้เป็นคำตอบ */ /* การหารทั่วไป แต่ตัวแปร dec ของภาษา C มันเป็น Integer หรือ เลขจำนวนเต็ม */ /* ดังนั้นมันจึงตัดเศษ (หรือทศนิยม) ทิ้งไปโดยอัตโนมัติ */ dec = dec / 2; } while (dec > 0); /* เงื่อนไขที่ทำจนกระทั่ง dec = 0 ก็ออกจากวังวนเงื่อนไข */ /* การแสดงผลของการแปลงเลขฐาน 10 เป็นเลขฐาน 2*/ /* j = i - 1 และให้ j ลดค่าลงทีละ 1 ... ก็คืออ่านข้อมูลถอยหลังกลับเท่านั้นเองครับ */ /* เพราะตัวแปรแบบ Array ในภาษา C มันเก็บข้อมูลจากซ้ายไปขวา */ /* ทำให้ LSB มันไปอยู่ทางซ้าย ส่วน MSB มันไปอยู่ทางขวา */ for(j = i - 1; j >= 0; j--) printf("%d", bit[j]); printf("\n"); return 0; }