ccpp:literals

SQLite & PDO SQLite support missing in this PHP install - plugin will not work
The Sqlite Php Extension is mandatory. It seems that it's not available on this installation.

Literály jednoduchých datových typů

Literál představuje konkrétní hodnotu určitého datového typu ve zdrojovém kódu, kterou program během svého zpracování použije. Nejedná se o proměnnou, nebo prvek programovacího jazyka samotného. Jakmile je literál zpracován - například jeho přiřazením do proměnné - může dojít ke změně jeho hodnoty v rámci implicitní konverze datového typu.

// Desítková soustava
int a = -42;
int b = 0;
int c = 10;
 
// Osmičková soustava - začíná číslicí 0
int o = 052
 
// Šestnáctková soustava - začíná 0x, nebo 0X - určuje velikost znaků
int x = 0x2a;
int X = 0X2A;
 
// Dvojková soustava - začíná 0b
int b = 0b101010;

Literály ve dvojkové soustavě jsou podporované od C++14, nebo pokud je umí daný kompilátor. Například v jazyce C, to není standardní ale kompilátor GCC ho podporuje v rámci svého rozšíření.

// Typ float obsahuje znak f na konci
float a = 3.14159f;
float b = 0.5f;
// První nulu lze vynechat
float c = .5f;
double d = 3.14159;
double e = .2;
double f = 1.6e-19 // 1.6 x 10^-19
double g = 1.6E19 // 1.6 x 10^19

Pokud použijeme literál typu double do proměnné typu float float cislo = 3.14;, tak ve většině případů půjde program zkompilovat a pravděpodobně poběží bez problému. Co se ve skutečnosti děje je automatické přetypování mezi double a float, které může vést ke ztrátě přesnosti. Viz následující příklad

#include <stdio.h>
 
int main()
{
  float f1 = 0.67;
  if(f1 == 0.67)
    puts("yes");
  else
    puts("no");  
 
  float f2 = 0.67;
  if(f2 == 0.67f) 
    puts("yes");
  else
    puts("no");
 
  return 0;
}

Zdroj: https://stackoverflow.com/questions/5026570/whats-the-use-of-suffix-f-on-float-value

char a = 'X';
char b = '\n'; // nový řádek
char c = ' '; // mezera
char d = 'x';
char e = '\''; //apostrof
  • Vytvořte program, který bude vypisovat proměnné definované pomocí zde uvedených literálů.
  • Rozšiřte předchozí program o načítání hodnot ze vstupu a vyzkoušejte zde uvedené formáty na vstupu.
  • ccpp/literals.txt
  • Poslední úprava: 2020/11/20 17:37
  • autor: bures