ฉันรู้ว่ามาตรฐาน C และ C ++ ออกจากแง่มุมต่าง ๆ ของการใช้งานภาษาที่กำหนดเพราะถ้ามีสถาปัตยกรรมที่มีคุณสมบัติอื่น ๆ มันจะยากมากหรือเป็นไปไม่ได้ที่จะเขียนคอมไพเลอร์ที่สอดคล้องกับมาตรฐาน
ฉันรู้ว่า 40 ปีที่แล้วคอมพิวเตอร์เครื่องใดมีคุณสมบัติเฉพาะของตัวเอง อย่างไรก็ตามฉันไม่รู้สถาปัตยกรรมที่ใช้ในปัจจุบันที่:
CHAR_BIT != 8
signed
ไม่ใช่สองส่วน (ฉันได้ยินว่า Java มีปัญหากับอันนี้)- จุดลอยตัวไม่เป็นไปตามมาตรฐาน IEEE 754 (แก้ไข: ฉันหมายถึง "ไม่ได้อยู่ในการเข้ารหัสแบบไบนารีของ IEEE 754")
เหตุผลที่ฉันขอคือว่าผมมักจะอธิบายให้คนที่เป็นของดีที่ C ++ ไม่อาณัติด้านระดับต่ำอื่น ๆ เช่นประเภทขนาดคง† มันดีเพราะไม่เหมือน 'ภาษาอื่น ๆ ' เพราะมันทำให้โค้ดของคุณพกพาได้เมื่อใช้อย่างถูกต้อง (แก้ไข: เนื่องจากมันสามารถย้ายไปยังสถาปัตยกรรมอื่น ๆ ได้โดยไม่ต้องจำลองด้านต่ำของเครื่องเช่นเช่นเลขคณิตสองส่วนของเครื่องหมาย + สถาปัตยกรรมขนาด) . แต่ฉันรู้สึกแย่ที่ฉันไม่สามารถชี้ไปที่สถาปัตยกรรมเฉพาะได้ด้วยตัวเอง
ดังนั้นคำถามคือสถาปัตยกรรมใดที่แสดงคุณสมบัติข้างต้น
† uint*_t
s เป็นตัวเลือก