Announcement

Collapse
No announcement yet.

ถามผู้รู้เรื่อง C++ หน่อยครับ

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • ถามผู้รู้เรื่อง C++ หน่อยครับ

    ผมอยากจะทราบการทำงานของโปรแกรมตัวนี้อ่ะครับ
    ว่าแต่ละบรรทัดมันคืออะไร และมันทำงานยังไง ส่ง-รับค่ากันยังไง
    รบกวนกูรูผู้รู้หน่อยนะครับ

    #include<iostream>
    #include <stdio.h>
    using namespace std;

    int main()
    {
    int n,x,a, c, k;

    cout<<"Enter an integer in decimal number system";
    cin>>x;
    n=x;
    cout<<"Binary Value OF Given Number Is: ";

    for( a=1;n!=0;a++)

    {
    n=n/2;

    }

    a=a-2;
    for (c = a; c >= 0; c--)
    {
    k = x >> c;

    if (k & 1)
    cout<<"1";
    else
    cout<<"0";
    }



    return 0;
    }





    ขอบคุณมากครับ อิอิ

  • #2
    รับเลขฐาน 10 แปลงเป็นฐาน 2 แสดงออกมา

    Comment


    • #3
      ครับผม อันนี้ผมรู้แล้วครับ
      แต่อยากจะทราบหลักการทำงานของมันในแต่ละบรรทัดอ่ะครับ

      Comment


      • #4
        Originally posted by เด็กอ่อน View Post
        ผมอยากจะทราบการทำงานของโปรแกรมตัวนี้อ่ะครับ
        ว่าแต่ละบรรทัดมันคืออะไร และมันทำงานยังไง ส่ง-รับค่ากันยังไง
        รบกวนกูรูผู้รู้หน่อยนะครับ

        #include<iostream>
        #include <stdio.h>
        เอาไลบราลี่มาตราฐานมารวม
        using namespace std;
        ประกาศตัวแปร
        int main()
        ประกาศฟังชั่นหลัก พร้อมรายละเอียดของฟังชั่น และ ค่าที่ฟังชั่นหลักจะส่งคืน ให้ระบบ
        {
        int n,x,a, c, k;
        ประกาศตัวแปร ใช้ได้เฉพาะในฟังชั่นนี้เท่านั้น
        cout<<"Enter an integer in decimal number system";
        แสดงผลข้อความอักษร ทางจอ
        cin>>x;
        เก็บค่าคีย์ เข้าตัวแปร เอ็กซ์
        n=x;
        ให้ตัวแปร เอ็น เท่ากับ ตัวแปร เอ็กซ์
        cout<<"Binary Value OF Given Number Is: ";
        แสดงผลข้อความอักษร ทางจอ
        for( a=1;n!=0;a++)
        เปิดลูฟ ฟอร์ โดยมีเงื่อนไขว่า เอ เริ่มต้นที่ หนึ่ง ถ้า เอ็น ยังไม่เท่ากับ ศูนย์ ให้เอเพิ่มค่าทีละ หนึ่ง ในแต่ละรอบของการวนลูพ
        {
        n=n/2;
        ค่า เอ็น ลดลง ครึ่งนึง
        }

        a=a-2;
        ค่า เอ ลดลง สอง
        for (c = a; c >= 0; c--)
        เปิดลูฟ ฟอร์ โดยมีเงื่อนไขว่า ค่า ซี เริ่มต้นเท่ากับ เอ และ ถ้า ซี ยังมากกว่าหรือเท่ากับ ศูนย์ ให้ค่า ซี ลดลงทีละหนึ่ง ในการวนลูปแต่ละรอบ
        {
        k = x >> c;
        ให้ค่า เค เท่ากับ อะไรหว่า ลืม จำได้ว่าเลื่อนบิท ไปทางขวา ตามค่า เอ็กซ์ หรือ ค่า ซี เนี่ยแหละ
        if (k & 1)
        ถ้า เค และ หนึ่ง อะไรหว่า เท่ากับ ศูนย์ มั้ง จำไม่ได้เหมือนกัน ฮ่าๆ
        cout<<"1";
        แสดงผลเป็นตัวอักษร
        else
        หรือไม่งั้นก็
        cout<<"0";
        แสดงผลเป็นศูนย์
        }



        return 0;
        คืน ค่า ศูนย์ให้กับระบบ สอดคล้องกับประกาศ ฟังชั่นหลัก บรรทัดแรกๆ อ่ะ
        }





        ขอบคุณมากครับ อิอิ
        pratice without knowledge like rootless but knowledge without pratice is leafless. <- - - จำเขามา ^ ^

        Comment

        Working...
        X