"How can I paint my concrete floor when there's white powder on it?"
White powder is salt deposits called efflorescence that is there because high quantities of moisture are migrating through the floor. You need to solve the water problem first or no paint will stick. So find out why there is water under the floor and solve it.
Often, sloping landscaping and rain gutters away from the foundation will do the trick. More details on that here.
The salt is best removed with muriatic acid. You can buy that in a concentrate, or in a preparation already for use on concrete. That will remove the salt and etch the concrete so that the paint will stick better. However some paints react poorly to muriatic acid and other etching material are recommended for use. Each paint has its own specification as to if you need to etch, seal and/or prime the concrete before painting and each type of paint recommends different products to accomplish each of these tasks. Read the can or check the manufacturer's web site for details. This is not just differences of opinion, it is chemistry specific to the concrete and the finish coat of paint.
All paints require that you remove loose concrete and all dust. Sweeping is not enough -- use a vaccum cleaner until nothing comes off.
You can use either latex or oil paint on the floor, but only paints made for concrete floors. These floor paints have acrylic and urethane added to them to give them the wearability for floors, while oil paints have epoxy added to them for the same reason. Oil will be more durable than latex, but latex will let a minor moisture problem through while oil will trap it below potentially causing peeling. One component epoxy paints applied in two coats really makes a durable painted concrete floor, but it is not the least expensive coating.
If you want to go further (and spend more money) you can use two component epoxy or special professionally applied rubberized coatings, like Armorthane.