2 ilə 2.0 arasındakı fərq nədir?


cavab 1:

Riyazi cəhətdən heç bir fərq yoxdur. 2 tam ədədlər qrupunun üzvüdür, eyni zamanda 2.0! Bir riyaziyyatçı üçün "2.0" tamamilə icazə verilir, ancaq daha geniş bir şəkildə "2" yazılır.

Bəzi cavabların burada göstərildiyi kimi, "2.0" bir mühəndis üçün bir ölçmənin ən yaxın onuncu üçün, o zaman "2" yalnız sonrakı bütün nömrə üçün dəqiq ola biləcəyi mənasını verə bilər.

Ən aydın fərq, C və C ++ kimi proqramlaşdırma dillərində, eləcə də bir sıra digər dillərdə ...

  • "2" tam ədəddir və belə saxlanılır. Gördüyünüz şey, əldə etdiyiniz şeydir - baxmayaraq ki, ikiqat tamamlayıcı format mənfi nömrələr üçün istifadə edilə bilər. Bununla birlikdə "2" 0000 0000 0000 00010 (16 bit tam ədəd olduqda) şəklində saxlanılır. "2.0", riyazi qiymətləndirildiyi zaman "2" ilə eyni dəyəri olacaq bir üzən nöqtə nömrəsidir. Ancaq o qədər fərqli şəkildə saxlanılır ki, ən uzaq bit naxış eyni görünmür. Nəticədə, proqram tam və üzən nöqtələri qarışdırarkən dönüşüm qaydalarını çağırmalıdır. Bu sizdən gizlidir, ancaq proqramı yavaşlatır.

İndi özünüzə sual verə bilərsiniz: proqram yazmağın əhəmiyyəti nədir? Bu problemi görməməzlikdən gəlmək olmur və sadəcə tərtibçiyə nə istədiyimi, məsələn, ifadədə başa düşməsinə icazə verin:

N = 1 + 2.0

Kimi dillər B. BASIC, N-də 3 ədədini saxlayan və əngəl olmadığı bir şeyə icazə verə bilər. Lakin C / C ++ növləri baxımından daha sərtdir. C və ya C ++ dilində "2.0" üzən bir nöqtə nömrəsidir və buna görə də dil - bu vəziyyətdə heç bir fraksiya olmadıqda - hələ də mümkün məlumat itkisi ilə bağlı bir xəbərdarlıq verir. Bu xəbərdarlığı aşağıdakı kimi bağlaya bilərsiniz:

N = 1 + (int) 2.0;

Xəbərdarlıq mesajının qarşısını almağın daha asan və daha səmərəli yolu tam ədədləri hesablayarkən tam ədədlərə yapışmaqdır və hər hansı bir yaxşı proqramlaşdırma bələdçisi bunu tövsiyə edir.

N = 1 + 2;


cavab 2:

Mətndəki fərq ".0" dir, lakin onlar eyni saydadır. Bununla birlikdə, gizli dönüşümün baş verdiyi bəzi kompüter dillərində 2 dəyəri tam bir nöqtəyə və 2.0 dəyəri üzən bir nöqtənin dəyərinə çevrilir. Məsələn, T-SQL (SQL Server SQL) -də bu iki seçim fərqli nəticələr verir.

SEÇMƏ 1/2

0 qaytarır

SEÇİM 1 / 2.0

0.5 qaytarır


cavab 3:

Mətndəki fərq ".0" dir, lakin onlar eyni saydadır. Bununla birlikdə, gizli dönüşümün baş verdiyi bəzi kompüter dillərində 2 dəyəri tam bir nöqtəyə və 2.0 dəyəri üzən bir nöqtənin dəyərinə çevrilir. Məsələn, T-SQL (SQL Server SQL) -də bu iki seçim fərqli nəticələr verir.

SEÇMƏ 1/2

0 qaytarır

SEÇİM 1 / 2.0

0.5 qaytarır


cavab 4:

Mətndəki fərq ".0" dir, lakin onlar eyni saydadır. Bununla birlikdə, gizli dönüşümün baş verdiyi bəzi kompüter dillərində 2 dəyəri tam bir nöqtəyə və 2.0 dəyəri üzən bir nöqtənin dəyərinə çevrilir. Məsələn, T-SQL (SQL Server SQL) -də bu iki seçim fərqli nəticələr verir.

SEÇMƏ 1/2

0 qaytarır

SEÇİM 1 / 2.0

0.5 qaytarır