コード例 #1
0
ファイル: my_prints_nb.c プロジェクト: encein42/epitech_tek1
void	my_printnbr(int fd, int nbr, char *base)
{
  if (nbr < 0)
    {
      my_fdputchar(fd, '-');
      nbr *= -1;
    }
  if (nbr >= my_strlen(base))
    {
      my_printnbr(fd, nbr / my_strlen(base), base);
      my_printnbr(fd, nbr % my_strlen(base), base);
    }
  else
    my_fdputchar(fd, base[nbr]);
}
コード例 #2
0
ファイル: my_prints_nb.c プロジェクト: encein42/epitech_tek1
int	my_printbin(int fd, va_list *ap)
{
  int	nbr;
  int	written;

  nbr = va_arg(ap, int);
  written = 1;
  my_printnbr(fd, nbr, "01");
  while (nbr != 0)
    {
      nbr /= 2;
      written += 1;
    }
  return (written);
}
コード例 #3
0
ファイル: my_prints_nb.c プロジェクト: encein42/epitech_tek1
int	my_printhexa(int fd, va_list *ap)
{
  int	nbr;
  int	written;

  nbr = va_arg(ap, int);
  written = 1;
  my_printnbr(fd, nbr, "0123456789ABCDEF");
  while (nbr != 0)
    {
      nbr /= 16;
      written += 1;
    }
  return (written);
}
コード例 #4
0
ファイル: my_prints_nb.c プロジェクト: encein42/epitech_tek1
int	my_printoct(int fd, va_list *ap)
{
  int	nbr;
  int	written;

  nbr = va_arg(ap, int);
  written = 1;
  my_printnbr(fd, nbr, "01234567");
  while (nbr != 0)
    {
      nbr /= 10;
      written += 1;
    }
  return (written);
}
コード例 #5
0
int	my_printnbr(int nb)
{
  int	output;

  output = 0;
  if (nb == -2147483648)
    {
      output = output + my_printstr("-2147483648");
      return (output);;
    }
  if (nb < 0)
    {
      nb = -nb;
      my_printchar('-');
      output = output + 1;
    }
  if (nb > 9)
    output = output + my_printnbr(nb / 10);
  output = output + my_printchar(nb % 10 + 48);
  return (output);
}