Announcement

Collapse
No announcement yet.

con trỏ trong C phần 2 - và các phần tiếp theo

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

  • #31
    vậy x86_64 nói lên CPU có kích thước thanh ghi là 64bit và con trỏ cũng có kích thước là 64bit. với kiến trúc này thì kết quả là 64 226 1 0,vậy với CPU dùng dạng big endian thì kết quả sẽ ra 0 1 226 64???

    Comment


    • #32
      Originally posted by 11520327 View Post
      vậy x86_64 nói lên CPU có kích thước ...
      Không phải do tại nó là 64bit mà là do x86_64 (hay là con CPU em đang xài ấy), là dạng little endian
      Khoảng cách giữa bạn và ước mơ của bạn là bao xa ?

      Comment


      • #33
        Originally posted by 11520327 View Post
        vậy x86_64 nói lên CPU có kích thước thanh ghi là 64bit và con trỏ cũng có kích thước là 64bit. với kiến trúc này thì kết quả là 64 226 1 0,vậy với CPU dùng dạng big endian thì kết quả sẽ ra 0 1 226 64???
        Vậy little endian là gì và big endian là gì và tại sao kết quả lại khác nhau? Tập trung vào kiến thức liên quan chứ đừng quá tập trung vào kết quả, ở đây chúng ta đâu phải đi thi mà là đang tìm hiểu mà

        Comment


        • #34
          Originally posted by 11520327 View Post
          vậy x86_64 nói lên CPU có kích thước thanh ghi là 64bit và con trỏ cũng có kích thước là 64bit. với kiến trúc này thì kết quả là 64 226 1 0,vậy với CPU dùng dạng big endian thì kết quả sẽ ra 0 1 226 64???
          Em đã xem , tìm hiểu Big endian và litle endian chưa?
          Nôm na.
          -Nó quy định cách sắp xếp thứ tự các byte trong bộ nhớ
          Big Endian: Byte cao nhất sẽ đc sắp đầu tiên.
          Litle Edian: Byte thấp nhất sẽ đc sắp đầu tiên.

          Như vậy
          ----------------- cao nhất--------------------thấp nhất
          số 123456(10) = 00000000 00000001 11100010 01000000(2)
          __________________________________________________ ____
          Trong Big Endian là: 00000000 00000001 11100010 01000000(2)
          Litle Endian là : 01000000 11100010 00000001 00000000 (2)

          Im a british accent lover

          Comment


          • #35
            Trong 64 bit kiểu int vẫn 4 bytes, cứ code rồi dùng sizeof in ra là biết ngay

            Comment


            • #36
              Originally posted by 11520118 View Post
              Trong 64 bit kiểu int vẫn 4 bytes, cứ code rồi dùng sizeof in ra là biết ngay
              bao nhiêu byte là do trình biên dịch chứ ko phải do HDH, con số 64 bit của hệ điều hành không có ý nghĩa gì ở đây hết.

              đây là datatype của keilC - nó là một trình biên dịch C nhưng dùng cho Vi điều khiển



              Vấn đề của bài toán này là hiểu được thế nào là cấu trúc x86_64 chứ không phải chạy code rồi đọc kết quả... vì cùng một code đó khi chạy trên những nền tảng khác nhau thì kết quả nó sẽ khác nhau
              Một khẩu súng giữ hai trời Nam Bắc,
              Một dấu chân in màu đất hai miền.

              ------------------------------------------------------

              Comment


              • #37
                Không phải do tại nó là 64bit mà là do x86_64 (hay là con CPU em đang xài ấy), là dạng little endian
                cụm từ x86_64 chỉ dùng khi nói về chíp của intel, và chíp của intel dạng little endian.
                Last edited by 11520327; 06-10-2012, 22:53.

                Comment

                LHQC

                Collapse
                Working...
                X