2012-10-10 8 views
6

Ben standardında bulmak donanımda temel 2'ye dayanan makinelerde uygulandı; Başka bir deyişle, bu programcının göreceği şey için bir gereklilik gibi görünüyor.C++ standardı bir ikili makine gerektiriyor mu? İntegral türlerinden</p> <blockquote> <p>gösterimleri saf ikili sayı sistemindeki</p> </blockquote> <p>kullanımıyla değerlerini tayin eder Ama benim anlayış bu olması gereken bir gereklilik C++ olmadığıdır:

C++ standardı bir ikili CPU gerektiriyor mu veya üçlü veya ondalıklı makinelerde geçerli bir C++ uygulaması uygulanabilir mi?


minik arka plan bilgisi: Tarihte, zaten bir C++ bayt 36 bit uzunluğundaki (PDP-10)

+0

Neden göremiyorum. – cdhowie

+0

Örneğin nasıl olduğunu görmek zor. bitly operatörler, iki türden bir sanal makineye sahip olmadığınız sürece, ikili mimaride çalışır. –

+1

Standarttaki bu geçiş bana oldukça açık görünüyor. Sayıların ikili temsillerini yapabilen bir makine gerektirir. Başka bir deyişle, tipik bir modern dijital bilgisayar veya ikili sayıları taklit eden en az biri. –

cevap

6

rağmen asla olacağını ondalık, ternaries veya bilgisayarlarla bilgisayarlar olmuştur Doğrudan standartta belirtilen, C++ (ve C) standardında esas olarak tüm gereksinimlere uygulanan bir "sanki" kuralı vardır. Başka bir deyişle, kural olarak belirtildiği gibi izlediğiniz gibi, gözle görülebilen aynı etkiyi oluşturduğunuz sürece, istediğiniz herhangi bir kuralı ihlal edebilirsiniz. Standartlarda belirtilmemiş olsa da, bu kural C standardı için Rationale'da açıkça belirtilmiştir. Bildiğim kadarıyla, C++ standardı için uygun bir mantık yoktur, ancak ikisi de kuralı her ikisine de uygulamada çok az sorunla karşılaştığımla yakından ilgilidir.

+1

1.9.1 altında“ olduğu gibi ”den söz eden bir ayak notu olduğuna inanıyorum. –

+0

Önceki standartlar hakkında bilmiyorum, ancak C++ 11 § 1.9/1'de bu doğrudan belirtilir: 'Bu Uluslararası Standarttaki semantik tanımlar parametreli nondeterminist soyut bir makineyi tanımlar. Bu Uluslararası Standart, uygun uygulamaların yapısına bir gereklilik getirmemektedir. Özellikle, soyut makinenin yapısını kopyalamaya veya taklit etmeye ihtiyaçları yoktur. Bunun yerine, aşağıda açıklandığı gibi soyut makinenin gözlemlenebilir davranışını (sadece) taklit etmek için uygun uygulamaların yapılması gerekmektedir. – JohnCand