Pascal for C users/fr

From Free Pascal wiki
Jump to navigationJump to search

Deutsch (de) English (en) français (fr)

Présentation

Cette page donne quelques traduction entre des concepts C(++) et Pascal.

Traduction

Light bulb  Remarque: Les opérateurs logiques (AND/OR/XOR etc) sont logiques (bit à bit) ou booléens selon le types des arguments (resp. entiers ou booléen). Puisque Pascal possède un type booléen séparé depuis le début, les opérateurs booléens sur les entiers n'étaient pas nécessaires, et sont toujours logiques (bit à bit).
C Pascal Notes
  {     Begin    
  }     End  
  =     :=   Affectation  
  ==     =   Egalité
  /     /   Division flottante (division entière: div)  
  %     Mod   Opération Modulo
  !     Not   NON logique
  !=     <>   Différent de  
  &&     And   ET logique
  ||     Or   OU logique
  &     And   ET bit à bit
  |     Or   OU bit à bit
  ^     Xor   OU exclusif
  ~     Not   Complément à 1 (inversion de bits)
  >>     Shr   Décalage à droite   Note: shr est un décalage logique et non arithmétique. Si l'opérande de gauche est une valeur négative ou un type signé alors le résultat d'une opération shr peut ne pas être ce à quoi vous vous attendiez.
  <<     Shl   Décalage à gauche  
  ++     Inc  
  --     Dec  
  /*     { ou (*   Début de commentaire
  */     } ou *)   Fin de commentaire
  //     //   Commentaire de fin de ligne (limité à une seule ligne)  
  0x     $   Préfixe pour les nombres en hexadécimal p.ex. $FFFFFF  
  0     &   Préfixe pour les nombres en octal p.ex. &77777777  
  0b     %   Préfixe pour les nombres en binaire p.ex. %11111111  
  &     @   Opérateur d'adresse
  *     ^   Voir Pointeur et Pointeurs
  if()     If Then  
  if() else     If Then Else  
  while     While Do  
  do while     Repeat Until Not   
  do while !     Repeat Until    
  for ++     For To Do  
  for --     For Downto Do    
  switch case break     Case Of End  
  switch case break default     Case Of Else End    
  const a_c_struct *arg     Constref arg : a_c_struct    
  a_c_struct *arg     Var arg : a_c_struct    


Type C Pascal Type Taille (bits) Etendue Notes
  char     Char     8-bit     ASCII
  signed char     Shortint   8-bit   -128 .. 127  
  unsigned char     Byte   8-bit   0 .. 255  
  char*     PChar   (32-bit)   Pointeur sur une chaîne à zéro terminal  
  short int     Smallint   16-bit   -32768 .. 32767  
  unsigned short int     Word   16-bit   0 .. 65535  
  int     Integer   (16-bit or) 32-bit     -2147483648..2147483647     Types entiers génériques  
  unsigned int     Cardinal   (16-bit or) 32-bit     0 .. 4294967295     Types entiers génériques  
  long int     Longint   32-bit   -2147483648..2147483647    
  unsigned long int     Longword   32-bit   0 .. 4294967295  
  float     Single   32-bit   1.5E-45 .. 3.4E+38  
  double     Double   64-bit   5.0E-324 .. 1.7E+308  
Type C Pascal Notes
  struct { }     Record End    
  union { }     Record Case Of End     Enregistrement avec variantes  


C Pascal Unité
  abs     Abs     System  
  acos     ArcCos     Math  
  asin     ArcSin     Math  
  atan     ArcTan     System  
  atof     StrToFloat     SysUtils  
  atoi     StrToInt     SysUtils  
  atol     StrToInt     SysUtils  
  atoll     StrToInt64     SysUtils  
  ceil     Ceil     Math  
  cos     Cos     System  
  exp     Exp     System  
  floor     Floor     Math  
  pow     Power     Math  
  round     Round     System  
  sin     Sin     System  
  sqrt     Sqrt     System  
  strcpy     Copy     System  
  strlen     Length     System  
  tan     Tan     Math  
  toupper     UpCase     System  

C++

C++ type Pascal Notes
  class { }     Class End    
  class: { }     Class( ) End    
  template <class T> class { }     Generic = Class<T> End    
  struct { }     Object End     Si vous voulez des méthodes

Voir aussi